Skip to content

Conversation

@ggouaillardet
Copy link
Contributor

@ggouaillardet ggouaillardet commented May 8, 2025

with mpif-h and usempi, MPI constants (e.g. MPI_COMM_WORLD) are all parts of a unique common block. Fortran compilers generally have alignment requirements for these (16 with gfortran, 32 with ifort or 64 with nvfortran to name a few), so pass these requirements to the actual symbols that are defined in the C code to make pick linkers (e.g. ubuntu) happy pandas. Such linkers also complain about the size of MPI_STATUS, so define these are arrays intead of pointer.

Fixes #13043

Thanks MJ Rutter for the report

back-ported from ec2b164

:bot:notacherrypick

with mpif-h and usempi, MPI constants (e.g. MPI_COMM_WORLD)
are all parts of a unique common block. Fortran compilers
generally have alignment requirements for these (16 with gfortran,
32 with ifort or 64 with nvfortran to name a few), so pass
these requirements to the actual symbols that are defined in
the C code to make pick linkers (e.g. ubuntu) happy pandas.
Such linkers also complain about the size of MPI_STATUS, so define
these are arrays intead of pointer.

Refs open-mpi#13043

Thanks MJ Rutter for the report

back-ported from ec2b164

:bot:notacherrypick

Signed-off-by: Gilles Gouaillardet <[email protected]>
@ggouaillardet ggouaillardet requested a review from jsquyres May 8, 2025 05:06
@github-actions github-actions bot added this to the v5.0.8 milestone May 8, 2025
@jsquyres jsquyres changed the title fortran: fix common symbol sizes and alignments v5.0.x: fortran: fix common symbol sizes and alignments May 8, 2025
@jsquyres jsquyres marked this pull request as ready for review May 8, 2025 14:01
@janjust janjust merged commit 44dfdc2 into open-mpi:v5.0.x May 12, 2025
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants